

#include <iostream>
#include <string>
#include <functional>
#include <memory>
#include <utility>


class A {

public:

public:

};

void FinalFunction(std::function<void()> && function) {


    std::cout << (void*)&function << std::endl;
}

void Callback(std::function<void()> && function) {

    FinalFunction(std::forward<std::function<void()>>(function));
}

int main() {

    auto func = [](){

        std::cout << "print content for test" << std::endl;

    };
    std::cout << (void*)&func << std::endl;
    Callback(func);
    return EXIT_SUCCESS;
}


